﻿Public Class Puntuacion
  
    'by DeathMaster
    Public Property ParejaCorrecta As Boolean 'Esto debe actuar cuando se hace click cada dos cartas distintas. -> Unirlo a la clase frmJuego
    Private _ResultadoPuntos As Integer 'Aquí se guardarán y actualizarán los puntos que tiene el Jugador en cada momento.
    '****CONSTANTES PARA CALCULAR LA PUNTUACIÓN****
    Public Const PTO_POSITIVO As Integer = 50
    Public Const PTO_NEGATIVO_DIFICIL As Integer = 20 'Aquí son positivos, pero el programa se encargará de restarlos a la puntuación en caso de fallo.

    'SI NO FUNCIONA, DEBEMOS CAMBIAR "_ResultadoPuntos = _ResultadoPuntos + PTO_POSITIVO" POR "_ResultadoPuntos = value + PTO_POSITIVO" y lo mismo con PTO_NEGATIVO

    ''' <summary>
    ''' Si la pareja es correcta, entonces suma 50 ptos. Si la pareja es incorrecta, entonces resta 20 ptos hasta un mínimo de 0.
    ''' </summary>
    ''' <value>ptoDificil</value>
    ''' <returns>_ResultadoPuntos</returns>
    ''' <remarks></remarks>
    Public Property puntosDificil As Integer
        Get
            Return _ResultadoPuntos
        End Get
        Set(value As Integer)
            'En este set se calculan los ptos en caso de acierto o fallo.
            If ParejaCorrecta Then
                _ResultadoPuntos = _ResultadoPuntos + PTO_POSITIVO
            Else 'Si la ParejaCorrecta = False entonces
                _ResultadoPuntos = _ResultadoPuntos - PTO_NEGATIVO_DIFICIL
            End If
            'Una vez terminado el cálculo de ptos con el if de arriba, se comprueba que los ptos son positivos, si son negativos se igualan a 0.
            'De esta forma el Ranking aparecerá con un mínimo de 0 ptos y no con números negativos que pueden confundir a los jugadores.
            If _ResultadoPuntos < 0 Then
                _ResultadoPuntos = 0
            End If
        End Set
    End Property
End Class
